home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 19.zip / BS1 part 19 / BS1 utils kick 1.2 d2.adf / Prologue.PS < prev    next >
Text File  |  1988-01-19  |  6KB  |  77 lines

  1. % ProScript Prologue version 1.0, 31-Aug-1988
  2. % Copyright © 1988 Edmund J. Scherer
  3. 32 dict begin/VtoHRatio 72 80 div def/IdentityMatrix matrix def
  4. /AmigaEncodingChanges[152/dotlessi 153/grave 154/acute 155/circumflex 156
  5. /tilde 157/dieresis 158/ring 159/cedilla 160/space 164/currency 166/bar 168
  6. /dieresis 169/copyright 170/ordfeminine 172/logicalnot 173/hyphen 174
  7. /registered 175/macron 176/ring 177/.notdef 178/quotedblright 179/dagger 180
  8. /quotesingle 185/quotedblleft 186/ordmasculine 188/daggerdbl 189/.notdef 192
  9. /Agrave 193/Aacute 194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE
  10. 199/Ccedilla 200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave
  11. 205/Iacute 206/Icircumflex 207/Idieresis 208/.notdef 209/Ntilde 210/Ograve 211
  12. /Oacute 212/Ocircumflex 213/Otilde 214/Odieresis 215/endash 216/Oslash 217
  13. /Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 223/germandbls 224/agrave 225
  14. /aacute 226/acircumflex 227/atilde 228/adieresis 229/aring 230/ae 231/ccedilla
  15. 232/egrave 233/eacute 234/ecircumflex 235/edieresis 236/igrave 237/iacute 238
  16. /icircumflex 239/idieresis 241/ntilde 242/ograve 243/oacute 244/ocircumflex
  17. 245/otilde 246/odieresis 247/emdash 248/oslash 249/ugrave 250/uacute 251
  18. /ucircumflex 252/udieresis 255/ydieresis]def/AmigaEncodingVector
  19. StandardEncoding length array def AmigaEncodingVector 0 StandardEncoding
  20. putinterval AmigaEncodingChanges aload pop AmigaEncodingChanges length 2 idiv{
  21. AmigaEncodingVector 3 1 roll put}repeat/min{2 copy gt{exch}if pop}bind def/max
  22. {2 copy lt{exch}if pop}bind def/shear{dup type/arraytype eq dup{4 2}{3 1}
  23. ifelse roll 1 exch dup sin exch cos div 3 -1 roll dup sin exch cos div 1 0 0 7
  24. -1 roll{7 -1 roll astore}{matrix astore currentmatrix matrix concatmatrix
  25. setmatrix}ifelse}bind def/CopyFont{{exch dup/FID eq{pop pop}{exch NewFontDict
  26. 3 1 roll put}ifelse}forall}bind def/ReencodeChrSet{CopyFont dup NewFontDict
  27. /FontName 3 -1 roll put NewFontDict/Encoding AmigaEncodingVector put}bind def
  28. /ZeroString{1 string}bind def/TempMatrix1 matrix def/TempMatrix2 matrix def
  29. /TempMatrix3 matrix def/MakeStyledBitMappedFont{3 1 roll cvn exch cvn findfont
  30. 2 index 2 and 0 ne{20 0 IdentityMatrix TempMatrix1 copy shear makefont}if dup
  31. maxlength 17 max dict/NewFontDict exch def CopyFont NewFontDict dup 3 index 1
  32. and 0 ne{/boldsmear 1 put}{pop}ifelse definefont pop pop}def/MakeBitMappedFont
  33. {17 dict dup begin/boldsmear 0 def/highchar 3 -1 roll def/lowchar 3 -1 roll
  34. def/charbaselinepix 3 -1 roll def/charheightpix 3 -1 roll def/FontMatrix 1
  35. charheightpix div dup matrix scale def/FontType 3 def/FontBBox[0 0 0 0]def
  36. /Encoding StandardEncoding def/FontInfo 2 dict dup begin/UnderlinePosition
  37. charheightpix -0.10 mul def/UnderlineThickness charheightpix 0.06 mul def end
  38. def/BuildCharLocals 2 dict def/BuildChar{exch begin BuildCharLocals begin
  39. CharData exch lowchar sub get/charinfo exch def charinfo 0 get charinfo 2 get
  40. add 0 charinfo 4 get charinfo 5 get charinfo 6 get boldsmear add charinfo 7
  41. get setcachedevice 0 1 boldsmear{/smear exch def charinfo 1 get charheightpix
  42. true 1 -1 IdentityMatrix TempMatrix1 copy scale charinfo 0 get smear add neg
  43. charbaselinepix 1 sub IdentityMatrix TempMatrix2 copy translate TempMatrix3
  44. concatmatrix{charinfo 3 get}imagemask}for end end}def/CharData highchar
  45. lowchar sub 1 add array def{currentfile token pop cvi dup 0 lt{pop exit}if
  46. lowchar sub dup currentfile token pop cvi currentfile token pop cvi
  47. currentfile token pop cvi 1 index 0 eq{exch pop 1 exch ZeroString}{currentfile
  48. 2 index 7 add 8 idiv charheightpix mul string readhexstring pop}ifelse 3 index
  49. charbaselinepix charheightpix sub 5 index 5 index add charbaselinepix 8 array
  50. astore CharData 3 1 roll put CharData exch get dup 7 get FontBBox 3 get max
  51. FontBBox 3 3 -1 roll put dup 6 get FontBBox 2 get max FontBBox 2 3 -1 roll put
  52. dup 5 get FontBBox 1 get min FontBBox 1 3 -1 roll put 4 get FontBBox 0 get min
  53. FontBBox 0 3 -1 roll put}loop end exch cvn exch definefont pop}def/Position{
  54. moveto}bind def/SetColor{setrgbcolor}bind def/SetFont{{dup dup length 6 add
  55. string dup dup 0(Reenc-)putinterval 3 1 roll 6 3 -1 roll putinterval cvn dup
  56. FontDirectory exch known{exch pop}{exch cvn findfont dup maxlength dict
  57. /NewFontDict exch def ReencodeChrSet dup NewFontDict definefont pop}ifelse}{
  58. cvn}ifelse 3 1 roll exch 3 -1 roll findfont dup/charheightpix known{exch dup}{
  59. exch dup VtoHRatio div exch}ifelse exch 4 -1 roll mul exch neg matrix scale
  60. makefont setfont}bind def/BeginUnderline{currentpoint}bind def/EndUnderline{
  61. gsave currentfont dup/FontInfo get exch/FontMatrix get dup 3 -1 roll dup 3 1
  62. roll/UnderlineThickness get 0 exch 3 -1 roll dtransform setlinewidth pop
  63. /UnderlinePosition get 0 exch 3 -1 roll dtransform dup 3 1 roll rmoveto add
  64. lineto stroke grestore}bind def/Picture{gsave/ImageData exch string def 5 -2
  65. roll translate IdentityMatrix{currentfile ImageData readhexstring pop}image
  66. grestore}def/NewPage{5 3 roll translate 3 1 roll scale rotate 0 PageLength
  67. translate{36 -18}{18 0}ifelse translate VtoHRatio -1 scale scale}bind def
  68. /SetPaperSize{dup 1 le{userdict/letter known{letter}if}if dup 2 eq{userdict
  69. /legal known{legal}if}if dup 3 eq{userdict/a4 known{a4}if}if 5 eq{userdict/b5
  70. known{b5}if}if}bind def/SetManualFeed{statusdict begin statusdict/manualfeed
  71. known{/manualfeed exch def}{pop}ifelse end}bind def/Initialize{/PageLength
  72. exch def/PaperLength exch def/PaperWidth exch def/#copies exch def
  73. currentscreen 7 1 roll 6 2 roll exch not{pop 2 index}if 3 1 roll exch not{pop
  74. 2 index}if exch 4 2 roll pop pop 3 -1 roll setscreen}bind def/PrintPage{
  75. showpage}bind def
  76. %%EndProlog
  77.